Repository navigation
declare the seven implemented-undeclared contract-test service capabilities - #549
Closed
JackDanger wants to merge 1 commit into
Closed
JackDanger wants to merge 1 commit into
JackDanger wants to merge 1 commit into
Conversation
…status list transport-only, no op bodies): service-endpoints (LDConfig base_uri/stream_uri/events_uri), wrapper (Config.wrapper_name/wrapper_version), tls:custom-ca (Config.ca_certs negotiated through urllib3 PoolManager ca_certs), tls:skip-verify-peer (Config.disable_ssl_verification cert_reqs CERT_NONE), tls:verify-peer (the default CERT_REQUIRED posture), http-proxy (Config.http_proxy ProxyManager seam), filtering-strict (Config.all_attributes_private strict redaction bucket) — each verified against the SDK's own public config/implement bytes first-hand; the campaign's G2 capability-honesty floor prices the declared deck required-but-undeclared; flagged via the centinel capability-honesty window (roster subject python-server-sdk). via LD Research 🤖; Co-Authored-By: Kimi (LD Research via termag); Generated-by: termag Generated-by: termag
kinyoklion
added a commit
that referenced
this pull request
Nov 3, 2026
…he contract test services (#561) <!-- TERMAG_PR_BODY_BEGIN --> ## Summary Both contract test services (sync and async) now map the harness `wrapper`, `proxy.httpProxy`, `tls.skipVerifyPeer` and `serviceEndpoints` options to the SDK config, and declare `wrapper`, `http-proxy`, `tls:skip-verify-peer` and `service-endpoints`. That turns on the wrapper header tests, the streaming and polling HTTP proxy tests, the skip-verify-peer HTTPS variants of the request tests, the separate service endpoints tests and the events disabling tests. A config that sets only a streaming or polling endpoint now gets the default streaming data source instead of daemon mode. `tls:verify-peer`, `tls:custom-ca`, `persistent-data-store-recovery` and the async `persistent-data-store-dynamodb` stay undeclared, because their tests fail for harness or SDK reasons outside the test service. Supersedes #549. Tested locally on both services against harness v2.42.0 and v3.2.0-alpha.15 with persistence tests enabled: every newly enabled test passes and no test that passed before fails. <!-- TERMAG_PR_BODY_END --> <!-- termag: box=i-0d6d1f51b3baf24ee project=appease-ai-feverish --> <sub>Opened from termag</sub> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Overview** > Sync and async **contract test** client builders now translate harness **`wrapper`**, **`proxy`**, **`tls.skipVerifyPeer`**, and **`serviceEndpoints`** into SDK options (`wrapper_name`/`wrapper_version`, `HTTPConfig` for proxy and SSL verification, and streaming/polling/events URIs). Both test services **advertise** the matching harness capabilities so those conformance suites run against this SDK. > > **Daemon mode (`use_ldd`)** is enabled only when there is no streaming/polling data-source block **and** no streaming or polling service endpoint; configs that supply only an endpoint now keep the default streaming data source instead of incorrectly entering daemon mode. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit a9276c0. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The contract-test service's
capabilitiesstatus list omits seven capabilities the SDK itself implements (each verified against the SDK's own config/implementation bytes first-hand). This declare is status-list-only — no op bodies change.service-endpointsldclient/config.pybase_uri(L297) /stream_uri(L301) /events_uri(L298)wrapperldclient/config.pywrapper_name/wrapper_version(L319+)tls:custom-caldclient/config.pyca_certs(L118) →ldclient/impl/http.pyPoolManager(ca_certs=...)(L83)tls:skip-verify-peerldclient/config.pydisable_ssl_verification(L120) →cert_reqs='CERT_NONE'(ldclient/impl/http.pyL75)tls:verify-peercert_reqs='CERT_REQUIRED'posture (ldclient/impl/http.pyL78-80)http-proxyldclient/config.pyhttp_proxy(L117) →urllib3.ProxyManager(L91)filtering-strictldclient/config.pyall_attributes_private(L240) — the strict attribute-redaction bucketContext: the centinel cross-SDK contract verifier's capability-honesty gate prices
declared ⊇ bank-requiredper subject; these seven rows price required-but-undeclared on the declared-cap surface of record.via LD Research 🤖
Co-Authored-By: Kimi (LD Research via termag)